_OOOO______EEEE_XXXX_CCCC_LLLL If _OOOO______EEEE_XXXX_CCCC_LLLL and _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT are set, _oooo_pppp_eeee_nnnn will fail if the file exists.
The check for the existence of the file and the creation of the
file if it does not exist is atomic with respect to other
processes executing _oooo_pppp_eeee_nnnn naming the same filename in the same
directory with _OOOO______EEEE_XXXX_CCCC_LLLL and _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT set.
_OOOO______LLLL_CCCC_FFFF_LLLL_UUUU_SSSS_HHHH
If set, when all copies of a file descriptor are closed, all
modified buffers associated with the file will be written back to
the physical medium. _OOOO______LLLL_CCCC_FFFF_LLLL_UUUU_SSSS_HHHH is a Silicon Graphics extension.
_OOOO______LLLL_CCCC_IIII_NNNN_VVVV_AAAA_LLLL
If set, when all copies of a file descriptor are closed, all
modified buffers associated with the file will be written back to
the physical medium, then invalidated, immediately freeing the
buffers for other use. The process doing the last close must be
able to aquire write access at the time of last close for the
cache to be invalidated. _OOOO______LLLL_CCCC_IIII_NNNN_VVVV_AAAA_LLLL is a Silicon Graphics
extension.
_OOOO______DDDD_IIII_RRRR_EEEE_CCCC_TTTT
If set, all reads and writes on the resulting file descriptor will
be performed directly to or from the user program buffer, provided
appropriate size and alignment restrictions are met. Refer to the
_FFFF______SSSS_EEEE_TTTT_FFFF_LLLL and _FFFF______DDDD_IIII_OOOO_IIII_NNNN_FFFF_OOOO commands in the _ffff_cccc_nnnn_tttt_llll(2) manual entry for
information about how to determine the alignment constraints.
_OOOO______DDDD_IIII_RRRR_EEEE_CCCC_TTTT is a Silicon Graphics extension and is only supported on
local EFS and XFS file systems, and remote BDS file systems.
When opening a STREAMS file, _o_f_l_a_g may be constructed from _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY or
_OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK OR-ed with either _OOOO______RRRR_DDDD_OOOO_NNNN_LLLL_YYYY, _OOOO______WWWW_RRRR_OOOO_NNNN_LLLL_YYYY _,,,, or _OOOO______RRRR_DDDD_WWWW_RRRR. Other flag
values are not applicable to STREAMS devices and have no effect on them.
The values of _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY and _OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK affect the operation of STREAMS
drivers and certain system calls [see _rrrr_eeee_aaaa_dddd(2), _gggg_eeee_tttt_mmmm_ssss_gggg(2), _pppp_uuuu_tttt_mmmm_ssss_gggg(2), and
_wwww_rrrr_iiii_tttt_eeee(2)]. For drivers, the implementation of _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY and _OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK is
device specific. Each STREAMS device driver may treat these options
differently.
When _oooo_pppp_eeee_nnnn is invoked to open a named stream, and the _cccc_oooo_nnnn_nnnn_llll_dddd module [see
_cccc_oooo_nnnn_nnnn_llll_dddd(7)] has been pushed on the pipe, _oooo_pppp_eeee_nnnn blocks until the server
process has issued an _IIII______RRRR_EEEE_CCCC_VVVV_FFFF_DDDD _iiii_oooo_cccc_tttt_llll [see _ssss_tttt_rrrr_eeee_aaaa_mmmm_iiii_oooo(7)] to receive the
file descriptor.
If _p_a_t_h is a symbolic link and _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT and _OOOO______EEEE_XXXX_CCCC_LLLL are set, the link is
not followed.
The file pointer used to mark the current position within the file is set
to the beginning of the file.
The new file descriptor is the lowest numbered file descriptor available
and is set to remain open across _eeee_xxxx_eeee_cccc system calls [see _ffff_cccc_nnnn_tttt_llll(2)].
Certain flag values can be set following _oooo_pppp_eeee_nnnn as described in _ffff_cccc_nnnn_tttt_llll(2).
If _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT is set and the file did not previously exist, upon successful
completion _oooo_pppp_eeee_nnnn marks for update the _ssss_tttt______aaaa_tttt_iiii_mmmm_eeee, _ssss_tttt______cccc_tttt_iiii_mmmm_eeee and _ssss_tttt______mmmm_tttt_iiii_mmmm_eeee
fields of the file and the _ssss_tttt______cccc_tttt_iiii_mmmm_eeee and _ssss_tttt______mmmm_tttt_iiii_mmmm_eeee fields of the parent
directory.
If _OOOO______TTTT_RRRR_UUUU_NNNN_CCCC is set and the file did previously exist, upon successful
completion _oooo_pppp_eeee_nnnn marks for update the _ssss_tttt______cccc_tttt_iiii_mmmm_eeee and _ssss_tttt______mmmm_tttt_iiii_mmmm_eeee fields of the
file.
There is a system enforced limit on the number of open file descriptors
per process _{{{{_OOOO_PPPP_EEEE_NNNN______MMMM_AAAA_XXXX_}}}}, whose value is returned by the _gggg_eeee_tttt_dddd_tttt_aaaa_bbbb_llll_eeee_ssss_iiii_zzzz_eeee(2)
function.
The named file is opened unless one or more of the following are true:
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS The file does not exist and write permission is denied by the
parent directory of the file to be created.
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT or _OOOO______TTTT_RRRR_UUUU_NNNN_CCCC is specified and write permission is denied.
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS A component of the path prefix denies search permission.
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS The file is a character or block device file and the file system
in which it resides has been mounted with the _nnnn_oooo_dddd_eeee_vvvv option [see
_ffff_ssss_tttt_aaaa_bbbb(4)].
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS _o_f_l_a_g permission is denied for an existing file.
_EEEE_AAAA_GGGG_AAAA_IIII_NNNN The file exists, _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT or _OOOO______TTTT_RRRR_UUUU_NNNN_CCCC are specified, mandatory
file/record locking is set, and there are outstanding record locks
on the file [see _cccc_hhhh_mmmm_oooo_dddd(2)].
_EEEE_BBBB_UUUU_SSSS_YYYY _p_a_t_h points to a device special file and the device is in the
closing state.
_EEEE_DDDD_QQQQ_UUUU_OOOO_TTTT _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT is specified, the file does not exist, and the directory
in which the entry for the new file is being placed cannot be
extended either because the user's quota of disk blocks on the
file system containing the directory has been exhausted or the
user's quota of inodes on the file system on which the file is
being created has been exhausted.
_EEEE_EEEE_XXXX_IIII_SSSS_TTTT _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT and _OOOO______EEEE_XXXX_CCCC_LLLL are set, and the named file exists.
_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT _p_a_t_h points outside the allocated address space of the process.
_EEEE_IIII_NNNN_TTTT_RRRR A signal was caught during the _oooo_pppp_eeee_nnnn system call.
The length of the _p_a_t_h argument exceeds {_PPPP_AAAA_TTTT_HHHH______MMMM_AAAA_XXXX}, or the length
of a _p_a_t_h component exceeds {_NNNN_AAAA_MMMM_EEEE______MMMM_AAAA_XXXX} while {______PPPP_OOOO_SSSS_IIII_XXXX______NNNN_OOOO______TTTT_RRRR_UUUU_NNNN_CCCC} is
in effect.
_EEEE_NNNN_FFFF_IIII_LLLL_EEEE The system file table is full.
_EEEE_NNNN_OOOO_DDDD_EEEE_VVVV _p_a_t_h points to a device special file and the device is not in the
activated state.
_EEEE_NNNN_OOOO_EEEE_NNNN_TTTT _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT is not set and the named file does not exist.
_EEEE_NNNN_OOOO_EEEE_NNNN_TTTT _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT is set and a component of the path prefix does not exist
or is the null pathname.
_EEEE_NNNN_OOOO_MMMM_EEEE_MMMM The system is unable to allocate a send descriptor.
_EEEE_NNNN_OOOO_SSSS_PPPP_CCCC _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT and _OOOO______EEEE_XXXX_CCCC_LLLL are set, and the file system is out of inodes
or the directory in which the entry for the new file is being
placed cannot be extended because there is no space left on the
file system containing the directory.
_EEEE_NNNN_OOOO_SSSS_PPPP_CCCC _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT is set and the directory that would contain the file
cannot be extended.
_EEEE_NNNN_OOOO_SSSS_RRRR Unable to allocate a stream.
_EEEE_NNNN_OOOO_TTTT_DDDD_IIII_RRRRA component of the path prefix is not a directory.
_EEEE_NNNN_XXXX_IIII_OOOO The named file is a character special or block special file, and
the device associated with this special file does not exist.
_EEEE_NNNN_XXXX_IIII_OOOO _OOOO______NNNN_DDDD_EEEE_LLLL_AAAA_YYYY or _OOOO______NNNN_OOOO_NNNN_BBBB_LLLL_OOOO_CCCC_KKKK is set, the named file is a FIFO, _OOOO______WWWW_RRRR_OOOO_NNNN_LLLL_YYYY
is set, and no process has the file open for reading.
_EEEE_NNNN_XXXX_IIII_OOOO A STREAMS module or driver open routine failed.
_EEEE_PPPP_EEEE_RRRR_MMMM _p_a_t_h points to a device special file, the device is in the setup
state, and the calling process does not have the _PPPP______DDDD_EEEE_VVVV privilege.
_EEEE_TTTT_IIII_MMMM_EEEE_DDDD_OOOO_UUUU_TTTT
The object of the open is located on a remote system which is not
available [see _iiii_nnnn_tttt_rrrr_oooo(2)].
_EEEE_RRRR_OOOO_FFFF_SSSS The named file resides on a read-only file system and either
_OOOO______WWWW_RRRR_OOOO_NNNN_LLLL_YYYY, _OOOO______RRRR_DDDD_WWWW_RRRR, _OOOO______CCCC_RRRR_EEEE_AAAA_TTTT, or _OOOO______TTTT_RRRR_UUUU_NNNN_CCCC is set in _o_f_l_a_g (if the file